#include <fmt/core.h>

#include <iostream>
#include <vector>

#include "cppguide/util/log_util.h"
#include "doctest/doctest.h"

TEST_SUITE("test_common") {
    TEST_CASE("test_common_one") {
        std::shared_ptr<spdlog::logger> log = cppguide::LogUtil::getLogger("test");
        SPDLOG_LOGGER_INFO(log, fmt::format("test_common_one start"));

        std::vector<int> arr;
        for (int i = 1; i <= 5; i++) {
            arr.push_back(i);
        }

        // 第一种 下标
        for (auto i = 0; i < arr.size(); i++) {  // NOLINT
            std::cout << arr[i] << " ";
        }
        std::cout << std::endl;

        // 第二种 迭代器
        for (auto it = arr.begin(); it != arr.end(); it++) {  // NOLINT
            std::cout << *it << " ";
        }
        std::cout << std::endl;

        // 第三种 范围循环
        for (auto val : arr) {
            std::cout << val << " ";
        }
        std::cout << std::endl;

        SPDLOG_LOGGER_INFO(log, fmt::format("test_common_one end"));
    }
}